public class Rotate {
  public void rotate(int[][] matrix) { 
    int n = matrix.length;
    for(int i = 0; i < n/2; i++){
      for(int j = 0; j < (n+1)/2; j++){
        int tmp = matrix[i][j];
        matrix[i][j] = matrix[n - 1 - j][i];
        matrix[n - 1 - j][i] = matrix[n - 1 - i][n - 1 - j];
        matrix[n - 1 - i][n - 1 - j] = matrix[j][n - 1 - i];
        matrix[j][n - 1 - i] = tmp;
      }
    }
  }
  public static void main(String[] args) { 
    int[][] matrix = {{1,2,3},{4,5,6},{7,8,9}};
    Rotate rotate = new Rotate();
    rotate.rotate(matrix);
    for(int i = 0; i < matrix.length; i++){
      for(int j = 0; j < matrix[0].length; j++){
        System.out.print(matrix[i][j] + " ");
      }
      System.out.println();
    }
  }
}

// 将一个举证的矩阵顺时针旋转90度

// class Solution {
//     public void rotate(int[][] matrix) {
//         int n = matrix.length;
//         for(int i = 0; i< n/2; i++){
//             for(int j = 0; j < (n+1)/2; j++){
//                 int tmp = matrix[i][j];
//                 matrix[i][j] = matrix[n - 1 - j][i];
//                 matrix[n - 1 - j][i] = matrix[n - 1 - i][n - 1 - j];
//                 matrix[n - 1 - i][n - 1 - j] = matrix[j][n - 1 - i];
//                 matrix[j][n - 1 - i] = tmp;
//             }
//         }
//     }
// }
